package com.bindatax.core.task;

import com.bindatax.core.model.ValueMetaData;

import java.util.*;
import java.util.concurrent.ConcurrentHashMap;

/**
* 字段对象
* @author ChenZhenQin
* @date  16:09 2022/2/23
* @version V1.0.0
*/
public class ColumnMetaData {
    // 结果集字段集合 统一大写-原始字段名
    ConcurrentHashMap<String, ValueMetaData> sourceColumnNameMap = new ConcurrentHashMap<String, ValueMetaData>();
    List<ValueMetaData> sourceColumnNameList;
    // 目标表字段集合 统一大写-原始字段名
    ConcurrentHashMap<String, ValueMetaData> targetColumnNameMap = new ConcurrentHashMap<String, ValueMetaData>();

    List<ValueMetaData> targetColumnNameList;

    // 共有字段列表
    Set<ValueMetaData> columnNames = new HashSet<ValueMetaData>();

    public ConcurrentHashMap<String, ValueMetaData> getSourceColumnNameMap() {
        return sourceColumnNameMap;
    }

    public void setSourceColumnNameMap(ConcurrentHashMap<String, ValueMetaData> sourceColumnNameMap) {
        this.sourceColumnNameMap = sourceColumnNameMap;
    }

    public ConcurrentHashMap<String, ValueMetaData> getTargetColumnNameMap() {
        return targetColumnNameMap;
    }

    public void setTargetColumnNameMap(ConcurrentHashMap<String, ValueMetaData> targetColumnNameMap) {
        this.targetColumnNameMap = targetColumnNameMap;
    }

    public Set<ValueMetaData> getColumnNames() {
        return columnNames;
    }

    public void setColumnNames(Set<ValueMetaData> columnNames) {
        this.columnNames = columnNames;
    }


    public List<ValueMetaData> getSourceColumnNameList() {
        return sourceColumnNameList;
    }

    public void setSourceColumnNameList(List<ValueMetaData> sourceColumnNameList) {
        this.sourceColumnNameList = sourceColumnNameList;
    }

    public List<ValueMetaData> getTargetColumnNameList() {
        return targetColumnNameList;
    }

    public void setTargetColumnNameList(List<ValueMetaData> targetColumnNameList) {
        this.targetColumnNameList = targetColumnNameList;
    }
}
